import 'package:xin_he/generated/json/base/json_field.dart';
import 'package:xin_he/generated/json/xin_he_special_distract_entity.g.dart';
import 'dart:convert';

@JsonSerializable()
class XinHeSpecialDistractEntity {
	late int id;
	late String name;
	late String iconPath;
	late int seq;
	dynamic remark;
	@JSONField(name: "version_num")
	late int versionNum;
	late int removed;
	late int createTime;
	late int updateTime;
	late int fCreateUserId;
	late int fUpdateUserId;

	XinHeSpecialDistractEntity();

	factory XinHeSpecialDistractEntity.fromJson(Map<String, dynamic> json) => $XinHeSpecialDistractEntityFromJson(json);

	Map<String, dynamic> toJson() => $XinHeSpecialDistractEntityToJson(this);

	XinHeSpecialDistractEntity copyWith({int? id, String? name, String? iconPath, int? seq, dynamic remark, int? versionNum, int? removed, int? createTime, int? updateTime, int? fCreateUserId, int? fUpdateUserId}) {
		return XinHeSpecialDistractEntity()
			..id= id ?? this.id
			..name= name ?? this.name
			..iconPath= iconPath ?? this.iconPath
			..seq= seq ?? this.seq
			..remark= remark ?? this.remark
			..versionNum= versionNum ?? this.versionNum
			..removed= removed ?? this.removed
			..createTime= createTime ?? this.createTime
			..updateTime= updateTime ?? this.updateTime
			..fCreateUserId= fCreateUserId ?? this.fCreateUserId
			..fUpdateUserId= fUpdateUserId ?? this.fUpdateUserId;
	}

	@override
	String toString() {
		return jsonEncode(this);
	}
}